$('.tab_item').click(function () {
    var index = $(this).index();
    $('.tab_item').eq(index).addClass('active').siblings().removeClass('active');
    if (index == 0) {
        $('.register_box').find('.inp').val('');
        $('.register_box').find('.tip').hide();
        $('.login_box').show().siblings('.register_box').hide();

        //     // window.parent.open("/login.html", "_self");
        //     window.parent.open(rootUrl + "web-ui/login", "_self");
        //     // window.parent.changeRoute("login");
    } else {
        $('.login_box').find('.inp').val('');
        $('.login_box').find('#check').prop('checked', false);
        $('.register_box').show().siblings('.login_box').hide();

        //     // window.parent.open("/register.html", "_self");
        //     window.parent.open(rootUrl + "web-ui/register", "_self");
        //     // window.parent.changeRoute("register");
    }
})

/********************************************************登录***************************************************************************/
$('.login_box #login_btn').click(function () {
    var param = {
        username: $(".login_username").val(),
        password: $(".login_password").val(),
        rememberme: $(".login_remember").is(':checked')
    };
    console.log(param);

    if (!param.username) {
        Message.show('error', '请输入用户名！');
        return;
    };
    if (!param.password) {
        Message.show('error', '请输入密码！');
        return;
    };
    // if (name && pass) {
    //     param.username = name;
    //     param.password = pass;
    // };
    apis.login(param, function () {
        apis.getUserInfo();
    });
})
$('.login_box .reset_pwd').click(function () {
    window.parent.changeRoute("resetpwd");
})


/********************************************************注册***************************************************************************/
$('.register_box .inp').focus(function () {
    $(this).siblings('.rule_box').show();
    $(this).parents('.inp_item').siblings().find('.rule_box').hide();
})

$('.register_box .inp').blur(function () {
    $(this).siblings('.rule_box').hide();
    $(this).parents('.inp_item').siblings().find('.rule_box').hide();
    var o = validateFn($(this).attr('data-mod'), $(this).val())
    if (!o.flag) {
        $(this).parent('.inp_box').siblings('.tip').show().html(o.msg);
    } else {
        $(this).parent('.inp_box').siblings('.tip').hide();
    }
})

$('.register_box .inp').keyup(function () {
    if (!$(this).val()) {
        $(this).siblings('.rule_box').find('img').attr('src', 'img/yuan.png')
    } else {
        var arr = validateFn($(this).attr('data-mod'), $(this).val()).arr;
        $(this).siblings('.rule_box').find('img').each(function (index, v) {
            if (arr.includes($(v).attr('data-index'))) {
                $(this).attr('src', 'img/bfh.png')
            } else {
                $(this).attr('src', 'img/fh.png')
            }
        });

    }
})

$('.register_box  #reg_btn').click(function () {
    var flag = true;
    $('.inp_box .inp').each(function (index, v) {
        var o = validateFn($(v).attr('data-mod'), $(v).val())
        if (!o.flag) {
            flag = false;
            $(v).parent('.inp_box').siblings('.tip').show().html(o.msg);
        } else {
            $(v).parent('.inp_box').siblings('.tip').hide();
        }
    })
    if (!flag) return;

    var param = {
        name: $(".register_name").val(),
        nickname: $(".register_nickname").val(),
        password: $(".register_pass").val(),
        // passwordQuestion: {
        //     pwdQuestion: '',
        //     pwdAnswer: ''
        // }
    };
    apis.sign_up(param);
})

function validateFn(mod, val) {
    var flag = true;
    if (mod == 'yhm') {
        if (!val) {
            return { flag: false, msg: '用户名不能为空' };
        };

        var o = {
            reg1: /^[A-Za-z][A-Za-z0-9_-]{3,17}$/,// 用户名必须包含4~18个字符，由数字、字母、下划线或中划线组成，且以字母开头
            reg2: /^.{0,255}$/,// 长度不超过255
            reg3: /^[^;\\/.]*$/,// 不能包含 ;\/.
        }
        var arr = [];
        if (!o.reg1.test(val)) { arr.push('0') }
        if (!o.reg2.test(val)) { arr.push('1') }
        if (!o.reg3.test(val)) { arr.push('2') }
        flag = o.reg1.test(val) && o.reg2.test(val) && o.reg3.test(val);
        return { flag, msg: '用户名设置不符合要求', arr }

    }
    if (mod == 'nc') {
        if (!val) {
            return { flag: false, msg: '昵称不能为空' };
        };
        var o = {
            reg1: /^[\u4e00-\u9fa5a-zA-Z0-9 ]{4,30}$/,// 4-30个字符，且不能包含除空格外的特殊字符
        }
        var arr = [];
        if (!o.reg1.test(val)) { arr.push('0') }
        flag = o.reg1.test(val);
        return { flag, msg: flag ? '' : '4-30 个字符，且不能包含除空格外的特殊字符', arr };
    }
    if (mod == 'mm') {
        if (!val) {
            return { flag: false, msg: '密码不能为空' };
        };
        var o = {
            reg1: /^.{8,}$/,// 密码长度至少为8个字符
            reg2: /^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*\d)|(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*])|(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*])|(?=.*[a-z])(?=.*\d)(?=.*[!@#$%^&*])).{8,}$/,// 密码至少包含大写字母、小写字母、数字及特殊字符中的任意三种
            reg3: /^(?!.*(.)\1{2}).{8,}$/, // 密码不能包含三个连续的相同字符
            reg4: /^(?!.*(?:123|234|345|456|567|678|789|012|abc|bcd|cde|def|efg|fgh|ghi|hij|ijk|jkl|klm|lmn|mno|nop|opq|pqr|qrs|rst|stu|tuv|uvw|vwx|wxy|xyz|zyx|yxw|xwv|wvu|vut|uts|tsr|srq|rqp|qpo|pon|onm|nml|mlk|lkj|kji|jih|ihg|hgf|gfe|fed|edc|dcb|cba|321|432|543|654|765|876|987|210))/, // 密码不能包含三个或三个以上连续字符（如123、abc）
            reg5: /^(?!.*(?:)(?:qwe|wer|ert|rty|tyu|yui|uio|iop|asd|sdf|dfg|fgh|ghj|hjk|jkl|zxc|xcv|cvb|vbn|bnm|123|234|345|456|567|678|789|890))/, // 密码不能包含键盘横排连续的三个字符（如qwe、asd、123）
            //     reg6: '',
        }
        var arr = [];
        if (!o.reg1.test(val)) { arr.push('0') }
        if (!o.reg2.test(val)) { arr.push('1') }
        if (!o.reg3.test(val)) { arr.push('2') }
        if (!o.reg4.test(val)) { arr.push('3') }
        if (!o.reg5.test(val)) { arr.push('4') }

        flag = o.reg1.test(val) && o.reg2.test(val) && o.reg3.test(val) && o.reg4.test(val) && o.reg5.test(val);
        if (val.includes($('.register_name').val()) || val.includes($('.register_name').val().split('').reverse().join(''))) { flag = false; arr.push('5') };
        return { flag, msg: flag ? '' : '密码设置不符合要求', arr };
    }
    if (mod == 'qrmm') {
        if (!val) {
            return { flag: false, msg: '确认密码不能为空' };
        }
        if (val !== $('.register_pass').val()) {
            return { flag: false, msg: '两次密码输入不一致' };
        }
    }
    return { flag };
}